﻿using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Xml.Linq;
using Lorow.Resources;

namespace Lorow.ViewModels
{
    public class AllDataModel : INotifyPropertyChanged
    {
        public AllDataModel()
        {
            this.Items = new ObservableCollection<ItemViewModel>();
            this.Home = new ObservableCollection<ItemViewModel>();
            this.News = new ObservableCollection<ItemViewModel>();
            this.Sedap = new ObservableCollection<ItemViewModel>();
            this.Busana = new ObservableCollection<ItemViewModel>();
            this.Kecantikan = new ObservableCollection<ItemViewModel>();
            this.Selebriti= new ObservableCollection<ItemViewModel>();
            this.Profil = new ObservableCollection<ItemViewModel>();
            this.Kesehatan = new ObservableCollection<ItemViewModel>();
            this.Keluarga = new ObservableCollection<ItemViewModel>();
            this.Karier = new ObservableCollection<ItemViewModel>();
            this.Griya = new ObservableCollection<ItemViewModel>();
            this.Tips = new ObservableCollection<ItemViewModel>();
            this.Gadget = new ObservableCollection<ItemViewModel>();
            this.Bookmarks = new ObservableCollection<ItemViewModel>();
            this.RecentItems = new ObservableCollection<ItemViewModel>();
            this.InfoItems = new ObservableCollection<ItemViewModel>();
        }

        /// <summary>
        /// A collection for ItemViewModel objects.
        /// </summary>
        public ObservableCollection<ItemViewModel> Items { get; private set; }
        public ObservableCollection<ItemViewModel> Home { get; private set; }
        public ObservableCollection<ItemViewModel> News { get; private set; }
        public ObservableCollection<ItemViewModel> Sedap { get; private set; }
        public ObservableCollection<ItemViewModel> Busana { get; private set; }
        public ObservableCollection<ItemViewModel> Kecantikan { get; private set; }
        public ObservableCollection<ItemViewModel> Selebriti { get; private set; }
        public ObservableCollection<ItemViewModel> Profil { get; private set; }
        public ObservableCollection<ItemViewModel> Kesehatan { get; private set; }
        public ObservableCollection<ItemViewModel> Keluarga { get; private set; }
        public ObservableCollection<ItemViewModel> Karier { get; private set; }
        public ObservableCollection<ItemViewModel> Griya { get; private set; }
        public ObservableCollection<ItemViewModel> Tips { get; private set; }
        public ObservableCollection<ItemViewModel> Gadget { get; private set; }
        public ObservableCollection<ItemViewModel> AllItems { get; private set; }
        public ObservableCollection<ItemViewModel> Bookmarks { get; private set; }
        public ObservableCollection<ItemViewModel> RecentItems { get; private set; }
        public ObservableCollection<ItemViewModel> InfoItems { get; private set; }

        private string _sampleProperty = "Sample Runtime Property Value";
        /// <summary>
        /// Sample ViewModel property; this property is used in the view to display its value using a Binding
        /// </summary>
        /// <returns></returns>
        public string SampleProperty
        {
            get
            {
                return _sampleProperty;
            }
            set
            {
                if (value != _sampleProperty)
                {
                    _sampleProperty = value;
                    NotifyPropertyChanged("SampleProperty");
                }
            }
        }

        public void insertBookmarks(ItemViewModel items)
        {
            Bookmarks.Insert(0,items);
            if (Bookmarks.Count > 6)
                Bookmarks.RemoveAt(6);
        }
        public void insertRecent(ItemViewModel items)
        {
            foreach (var item in RecentItems)
            {
                if (item.Id == items.Id)
                    return;
            }
            RecentItems.Insert(0, items);
            if (RecentItems.Count > 6)
                RecentItems.RemoveAt(6);
        }
        /// <summary>
        /// Sample property that returns a localized string
        /// </summary>
        public string LocalizedSampleProperty
        {
            get
            {
                return AppResources.SampleProperty;
            }
        }

        public ObservableCollection<ItemViewModel> getSearch(string text)
        {
            ObservableCollection<ItemViewModel> retVal = new ObservableCollection<ItemViewModel> ();
            foreach (var item in AllItems)
            {
                if (item.Title.ToLower().Contains(text.ToLower()))
                    retVal.Add(item);
                else if(item.Content.ToLower().Contains(text.ToLower()))
                    retVal.Add(item);
            }
            return retVal;
        }

        public bool IsDataLoaded
        {
            get;
            private set;
        }

        private string cutUselessChar(string text)
        {
            string retVal = text;
            retVal = retVal.Replace("<p>", "");
            retVal = retVal.Replace("</p>", "");
            return retVal;
        }
        public ObservableCollection<ItemViewModel> getRandomInfo()
        {
            ObservableCollection<ItemViewModel> retVal = new ObservableCollection<ItemViewModel>();
            ObservableCollection<ItemViewModel> temp = new ObservableCollection<ItemViewModel>();
            foreach (var item in InfoItems)
            {
                temp.Add(item);
            }
            Random rand = new Random();
            int randomVal= 0;
            while (retVal.Count < 6)
            {
                randomVal = rand.Next(temp.Count);
                retVal.Add(temp[randomVal]);
                temp.RemoveAt(randomVal);
            }
            return retVal;
        }
        public ObservableCollection<ItemViewModel> getRelated(string id)
        {
            ObservableCollection<ItemViewModel> retVal = new ObservableCollection<ItemViewModel>();
            ObservableCollection<ItemViewModel> temp = new ObservableCollection<ItemViewModel>();
            foreach (var item in AllItems)
            {
                temp.Add(item);
            }
            Random rand = new Random();
            int randomVal = 0;
            while (retVal.Count < 6)
            {
                randomVal = rand.Next(temp.Count);
                if ( temp[randomVal].Id != id)
                {
                    retVal.Add(temp[randomVal]);
                    temp.RemoveAt(randomVal);
                }
            }
            return retVal;
        }
        /// <summary>
        /// Creates and adds a few ItemViewModel objects into the Items collection.
        /// </summary>
        public void LoadData()
        {
            // Sample data; replace with real data
            Home = new ObservableCollection<ItemViewModel>();
            AllItems = new ObservableCollection<ItemViewModel>();
            XDocument XDoc = XDocument.Load("data.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.Title = member.Element("title").Value;
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium").Value;
                }
                Home.Add(item);
                AllItems.Add(item);
            }

            News = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("news.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.Title = member.Element("title").Value;
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = (members.Element("medium") != null) ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                News.Add(item);
                AllItems.Add(item);
            }

            Sedap = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("sedap.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Sedap.Add(item);
                AllItems.Add(item);
            }

            Busana = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("busana.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Busana.Add(item);
                AllItems.Add(item);
            }

            Kecantikan = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("kecantikan.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Kecantikan.Add(item);
                AllItems.Add(item);
            }
            Selebriti = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("selebriti.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Selebriti.Add(item);
                AllItems.Add(item);
            }
            Profil = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("profil.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Profil.Add(item);
                AllItems.Add(item);
            }
            Kesehatan = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("kesehatan.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Kesehatan.Add(item);
                AllItems.Add(item);
            }
            Keluarga = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("keluarga.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Keluarga.Add(item);
                AllItems.Add(item);
            }
            Karier = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("karier.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Karier.Add(item);
                AllItems.Add(item);
            }
            Griya = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("griya.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Griya.Add(item);
                AllItems.Add(item);
            }
            Tips = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("tips.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Tips.Add(item);
                AllItems.Add(item);
            }
            Gadget = new ObservableCollection<ItemViewModel>();
            XDoc = XDocument.Load("gadget.xml");
            foreach (var member in XDoc.Descendants("item"))
            {
                ItemViewModel item = new ItemViewModel();
                item.Url = member.Element("url_alias").Value;
                item.Id = member.Element("node_id").Value;
                item.Content = member.Element("body").Value;
                item.Content = cutUselessChar(item.Content);
                item.View = Convert.ToInt32(member.Element("view_count").Value);
                item.Title = member.Element("title").Value;
                item.Description = member.Element("description").Value;
                foreach (var members in member.Descendants("image"))
                {
                    item.Image = members.Element("medium") != null ? members.Element("medium").Value : members.Element("large") != null ? members.Element("large").Value : members.Element("small").Value;
                }
                Gadget.Add(item);
                AllItems.Add(item);
            }
            //this.Items.Add(new ItemViewModel() { Title = "runtime one", Description = "Maecenas praesent accumsan bibendum", Content = "Facilisi faucibus habitant inceptos interdum lobortis nascetur pharetra placerat pulvinar sagittis senectus sociosqu" });

            InfoItems = new ObservableCollection<ItemViewModel>();
            this.InfoItems.Add(new ItemViewModel() { Id = "1", Title = "8 Ide Hias Sarapan ", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/8-ide-hias-sarapan/5798413-1-ind-ID/8-Ide-Hias-Sarapan_nova190x190.jpg", Description = "Kelinci Lucu", Content = "Kelinci Lucu Bahan: Telur rebus, iris tipis. Telur ayam kampung,  rebus, iris tipis. Telur puyuh,  rebus, masing-masing potong jadi 4 bagian. Saus tomat. Kacang polong rebus. Wortel rebus, cetak bentuk bunga kecil. Mentimun. Step by Step: 1. Susun potongan telur ayam  dan telur ayam kampung. Taruh potongan telur puyuh di atasnya sebagai telinga.2. Hias bagian mukanya dengan wortel, saus tomat,  dan kacang polong. 3.Hias bagian bawahnya dengan potongan mentimun dan  wortel. Sleep Tight Pancake Bahan: Pancake  berdiameter 10 cm Keju lembaran Selai cokelat Selai stroberi Sprinkle  bentuk hati. Step by Step: 1. Taruh pancake  setengah lingkaran di atas pancake bulat. 2. Letakkan keju yang sudah dibentuk kepala, telinga, dan tangan di atas pancake .3. Beri mata dan mulut dari selai cokelat dan selai stroberi. 4. Taburi pancake  dengan sprinkle ." });
            this.InfoItems.Add(new ItemViewModel() { Id = "2", Title = "Motif Atraktif ", Description = "Permainan motif seru mulai dari bunga hingga tradisional pada piranti makan, membuat suasana makan semakin menyenangkan.", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/motif-atraktif2/5788759-1-ind-ID/Motif-Atraktif_nova190x190.jpg", Content = "Permainan motif seru mulai dari bunga hingga tradisional pada piranti makan, membuat suasana makan semakin menyenangkan. 1. Agar lebih serasi di meja makan, pilih piring dan gelas dengan tema yang sama. 2. Untuk piranti makan seperti piring dan gelas dengan dominasi putih polos, setelah digunakan bersihkan dengan menggunakan sabun cair dan jeruk nipis agar noda tidak mudah menempel. 3. Saat mencuci hindari menggunakan tapas agar motif pada piring tidak mudah pudar. Pilih spons berbahan lembut. 4. Setelah pencucian simpan piring dalam posisi telungkup, tunggu hingga air mengering. Lanjutkan dengan lap kering. " });
            this.InfoItems.Add(new ItemViewModel() { Id = "3", Title = "Aneka Tips Bermanfaat ", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/aneka-tips-bermanfaat3/5834897-1-ind-ID/Aneka-Tips-Bermanfaat_nova190x190.jpg", Description = "Pengharum Ruangan Berbahan Alami", Content = "Tak perlu membeli pewangi ruangan berharga mahal untuk mengharumkan ruangan Anda. Bahan-bahan alami di sekitar Anda sebetulnya bisa juga dimanfaatkan untuk hal ini. Caranya, iris tipis beberapa helai daun pandan. Ambil beberapa batang kayu manis dan pekak. Campurkan semua bahan tersebut, letakkan dalam wadah cantik dan tempatkan di ruang yang Anda inginkan. Tak hanya jadi aroma terapi, pengharum ini juga ikut mempercantik ruangan. Menghilangkan Kerak Sisa Makanan Sisa makanan yang menempel pada peralatan masak karena gosong terkadang sulit dibersihkan. Mencongkelnya dengan pisau justru akan merusak lapisan wajan atau panci tersebut. Untuk mengatasinya, tuangkan dua sendok makan baking soda pada wajan atau panci yang berkerak. Tambahkan air mendidih sehingga kerak terendam. Diamkan selama 15 menit, lalu cuci seperti biasa. Noda kerak akan hilang dengan sendirinya. Membersihkan Kepala Shower yang Tersumbat Kepala shower  yang buntu tentu menyebalkan karena air yang mengalir dari dalamnya jadi tersumbat. Untuk mengatasinya, rebus kepala shower  yang terbuat dari logam dengan satu liter air dan satu cangkir cuka selama 15 menit. Bila kepala shower  terbuat dari plastik, rendamlah dalam campuran air panas dan cuka dengan perbandingan yang sama. Anda akan mendapatkan kepala shower  yang bersih kembali." });
            this.InfoItems.Add(new ItemViewModel() { Id = "4", Title = "Mencuci Popok Kain Modern", Description = "Membeli popok kain modern memang membutuhkan perawatan tersendiri.", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/mencuci-popok-kain-modern/5834835-1-ind-ID/Mencuci-Popok-Kain-Modern_nova190x190.jpg", Content = "Membeli popok kain modern memang membutuhkan perawatan tersendiri. Asal kita mau mencoba, tidak sulit, kok, menjalaninya. Apalagi, popok kain lebih hemat dibanding popok sekali pakai. Simak tips mencuci popok kain berikut ini. Setelah dibeli, cuci terlebih dulu popok kain. Biasanya, produsen menyarankan untuk mencuci awal sebanyak tiga kali untuk menghilangkan lapisan kimia yang digunakan dalam proses finishing dan menghilangkan natural wax . Dengan demikian, popok akan punya daya serap lebih. Bila popok kain bernoda, jangan direndam terlalu lama agar lapisan PUL tidak rusak dan bakteri tak sempat berkembang biak. Gunakan sedikit deterjen atau seperempat takaran untuk mencuci popok kain. Pilih deterjen yang tidak menggunakan pemutih, pelembut, dan pewangi. Bila dicuci dengan tangan, tidak perlu mengucek terlalu kuat. Bilas 2-3 kali sampai busa hilang dengan air mengalir, dan jemur dengan inner menghadap sinar matahari agar lebih cepat kering" });
            this.InfoItems.Add(new ItemViewModel() { Id = "5", Title = "Kevin Aprilio Umumkan Alika Keluar Dari Princess ", Description = "Kevin Aprilio akhirnya mengumumkan keluarnya personel Princess, Alika.", Content = " Secara resmi, Kevin menjelaskan, Alika tak lagi bergabung dengan Princess. 'Akan ada perubahan dari Princess dan Aprilio Kingdom. Ini bukan yang negatif tapi karena penyesuaian yang dilakukan dari berbagai pihak. Akan ada pergantian personel dari Princess. Mungkin beritanya sudah pernah didengar tapi ingin mempertegas lagi,'ujar Kevin, saat ditemui tabloidnova.com di Takigawa, Pondok Indah Mall 2, Jakarta Selatan (28/11).  'Setelah hari ini Alika tidak lagi di Princess, bukan karena ketidakcocokan kerjasama, tapi karena misi yang berbeda, tapi secara hubungan enggak ada apa-apa. Alika harus menjalankan pendidikan  untuk masa depannya. Saya tidak mau mengganggu pendidikan formal siapapun  karena itu sangat penting,' papar Kevin. Kevin mengaku sudah menemukan pengganti Alika. Menurut dari pasangan Adide MS dan Memes ini mengaku, keluarnya Alika bukan dikarenakanmasalah sesama personel. 'Saya enggak mau bentrok. ini untuk penyesuaian aja. Namun untuk ke depannya sudah ada yang menggantikan Alika. Tapi orangnya enggak ada hari ini. Mungkin orang ini berbeda banget dengan Alika dari suara, bakat, fisik, jelasnya.", Image = "http://www.tabloidnova.com/Nova/Tips/Kevin-Aprilio-Umumkan-Alika-Keluar-Dari-Princess" });
            this.InfoItems.Add(new ItemViewModel() { Id = "6", Title = "Tips Sukses Potty Training ", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/tips-sukses-potty-training/5829762-1-ind-ID/Tips-Sukses-Potty-Training_nova190x190.jpg", Description = "Masih tetap mengompol saat usia Si Kecil sudah makin besar tentu tak nyaman.", Content = "Masih tetap mengompol saat usia Si Kecil sudah makin besar tentu tak nyaman. Belum lagi, ompolnya meninggalkan bau tak sedap yang sulit hilang. Itu sebabnya, banyak ibu yang mulai mengajarkan potty training  pada anaknya sejak dini. Simak tips berikut ini agar Si Kecil sukses belajar pipis sendiri. Saat tepat Melakukan potty training  tak bisa terlalu dini. Bukan hanya kesiapan Anda yang dibutuhkan. Si kecil pun perlu siap, baik secara fisik maupun pikiran. Selain itu, jangan memulainya saat Anda maupun Si Kecil dalam kondisi stres.Ingat, anak butuh waktu yang berbeda-beda untuk bisa mengontrol pipisnya.   Biarkan basah Bila selama ini Anda memakaikan popok kain pada anak Anda, biarkan ia merasa basah karena pipisnya. Dengan demikian, ia akan mulai belajar siap melakukan potty training  karena merasa tak nyaman dengan kondisinya. Tanpa paksaan Bila Anda melihat ia sudah tampak siap, jangan buru-buru melakukannya. Biarkan ia merasa familiar dan nyaman lebih dulu dengan perlengkapan potty training  yang akan ia gunakan. Setelah beberapa kali membiarkan ia memegangnya, Anda boleh mulai menjelaskan padanya bagaimana cara kerjanya dan di mana posisi Si Kecil. Saat sudah bisa memahaminya, ia akan belajar melakukannya sendiri. Pilih sendiri Dalam sebuah polling  yang dilakukan situs Baby Center, sebanyak lebih dari 20 ribu orangtua memilih mengajari anaknya potty training  menggunakan popok kain khusus untuk hal ini. Bila ini juga menjadi pilihan Anda, biarkan anak memilih sendiri motif yang ingin dipakainya, agar ia lebih bersemangat melakukannya. Beritahu Bila Anda memilih potty chair  untuk mengajarinya, letakkan potty chair  ini dekat kamar mandi. Mintalah pada anak untuk memberitahu Anda tiap kali ia ingin pipis, sehingga Anda bisa segera menempatkannya di atasnya." });
            this.InfoItems.Add(new ItemViewModel() { Id = "7", Title = "Tips Rambut Sehat Berkilau ", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/tips-rambut-sehat-berkilau/5823093-1-ind-ID/Tips-Rambut-Sehat-Berkilau_nova190x190.jpg", Description = " Siapa, sih, yang tak menginginkan rambut sehat? Tahukah Anda, yang Anda konsumsi sehari-hari bisa membuat rambut Anda kembali berkilau dan kuat? ", Content = "Siapa, sih, yang tak menginginkan rambut sehat? Tahukah Anda, yang Anda konsumsi sehari-hari bisa membuat rambut Anda kembali berkilau dan kuat? Lakukan diet yang seimbang dan konsumsilah makanan berikut ini, untuk mendapatkan rambut Anda sehat kembali. Minyak. Asam lemak omega 3 yang terdapat dalam telur, kacang walnut, dan lemak ikan seperti salmon bisa membuat rambut berkilau. Minyak ini bisa diperoleh dari minyak tumbuhan, tapi lebih banyak terdapat pada ikan dan telur. Protein yang ada pada makanan ini juga membantu rambut tumbuh dengan kuat dan sehat. Jangan lupa, dalam telur juga terdapat vitamin B12 dan biotin, yang penting untuk kesehatan kulit dan kuku. Alpukat. Buah berwarna hijau ini memiliki kandungan vitamin E yang tinggi, yang berguna untuk menjaga warna rambut dan mencegah rambut bercabang. Bila kurang suka mengonsumsi alpukat, Anda bisa menggunakannya sebagai masker rambut. Kupas satu buah alpukat, hancurkan bersama dua sendok makan yogurt, satu butir telur mentah, setengah sendok teh minyak rosemary dan satu sendok teh minyak jojoba. Lalu, oleskan ke kulit kepala dan rambut, diamkan selama 20 menit sebelum membilasnya dengan shampo.  Minyak kelapa berguna untuk membuat rambut berkilau dan sehat. Tambahkan minyak kelapa dalam smoothies, atau oleskan langsung ke kulit kepala Anda. Gosok dengan lembut, lalu biarkan selama 30 menit sebelum dibilas. Minyak kelapa merupakan bahan anti jamur yang melindungi kulit kepala dari ketombe." });
            this.InfoItems.Add(new ItemViewModel() { Id = "8", Title = "Tips Berkendara Di Musim Hujan ", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/tips-berkendara-di-musim-hujan/5823120-1-ind-ID/Tips-Berkendara-Di-Musim-Hujan_nova190x190.jpg", Description = "Orang kerap panik dan kurang berhati-hati menghadapi hujan di jalanan.", Content = "Orang kerap panik dan kurang berhati-hati menghadapi hujan di jalanan. Jalanan yang licin, fokus yang kurang maksimal, genangan air, banjir, lubang yang tertutup genangan air, serta kondisi yang tak nyaman membuat risiko kecelakaan meningkat saat musim hujan tiba. Berikut beberapa tips berkendara saat musim hujan yang disarankan oleh Humas Polda Metro Jaya bagi Anda agar lebih aman dan nyaman hadapi hujan di perjalanan: 1. Periksa semua lampu kendaraan . Pastikan  lampu sein dapat berfungsi dengan baik karena  bermanfaat membantu pengendara di belakang Anda melihat (di jarak pandang yang terbatas) dalam hujan. Nyalakan lampu utama kendati di siang hari maupun ketika hujan rintik-rintik untuk membantu pengendara lain melihat kendaraan Anda terutama yang berlawanan arah. 2. Periksa tekanan udara  ban dan kedalaman alur ban secara rutin minimal seminggu sekali . Kondisi tekanan ban  dan alur ban yang  baik akan menghindarkan  kendaraan Anda melayang di atas air (aquaplaning ) hingga tergelincir (slip ) pada saat hujan. Jangan mengambil resiko  menggunakan ban yang sudah tipis. 3. Periksa kondisi kemudi . Mulai dari pedal rem, gas, maupun kopling, apakah sudah dalam kondisi baik. Jika perlu, berikan perawatan extra selama musim hujan  untuk mengantisipasi keadaan darurat (misal, pengereman mendadak, menghindari tabrakan, dan sebagainya) atau  kesalahan orang lain yang dapat menyebabkan kecelakaan. 4. Gunakan alas kaki yang tidak licin, tahan air dan aman untuk berkendara . Selain itu, persiapkan pula mantel hujan selalu di dalam bagasi sepeda motor (jika Anda pengendara sepeda motor)." });
            this.InfoItems.Add(new ItemViewModel() { Id = "9", Title = "Kunyit Berkhasiat Untuk Obat Maag ", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/kunyit-berkhasiat-untuk-obat-maag/5816083-1-ind-ID/Kunyit-Berkhasiat-Untuk-Obat-Maag_nova190x190.jpg", Description = "Kesibukan yang padat tak jarang membuat orang terlambat makan.", Content = "Kesibukan yang padat tak jarang membuat orang terlambat makan. Akibatnya, penyakit maag bisa menyerang. Perut kembung, asam lambung meningkat, dan lambung perih akibat maag terkadang membuat orang makin malas makan. Untuk mengatasi sakit maag, gunakan perasan air kunyit. Cara membuatnya, ambil dua ruas kunyit segar dan kupas kulitnya. Cuci bersih kunyit lalu parut. Campur dengan seperempat gelas air hangat, lalu peras dan saring. Minumlah air perasan kunyit ini sebelum makan pagi dan sebelum tidur malam selama beberapa hari sampai hilang maag Anda. " });
            this.InfoItems.Add(new ItemViewModel() { Id = "10", Title = "Sports Bra: Menjaga Bentuk Payudara", Image = "http://www.tabloidnova.com/var/gramedia/storage/images/nova/tips/sports-bra-menjaga-bentuk-payudara/5810513-1-ind-ID/Sports-Bra-Menjaga-Bentuk-Payudara_nova190x190.jpg", Description = "Pikir ulang pemakaian bra biasa untuk berolahraga sebab bra jenis ini malah membuat payudara kendur.", Content = " Anda berlari penuh semangat di lapangan memakai sepatu lari kesayangan. Jantung berdegup kencang dan peluh bercucuran di sekujur tubuh hingga membasahi baju olahraga. Di saat seperti ini, bisa dipastikan seluruh anggota badan bergerak aktif, termasuk payudara Anda. Ibarat Karet Bicara soal payudara, sports bra  yang wajib dipakai saat berolahraga seringkali terpinggirkan. Alasannya, tak sedikit yang berpikir bahwa bra  yang dipakai sehari-hari sudah bisa melindungi payudara. Padahal memakai sports bra bukan perkara aksesori belaka, lho. Coba bayangkan jaringan kulit payudara Anda adalah karet. Ketika Anda menarik karet tersebut lalu melepaskannya, karet memang akan kembali seperti semula. Tapi, coba lakukan berulang kali. Apa yang terjadi? Karet menjadi kendur karena kehilangan elastisitas. Nah, hal yang sama bakal terjadi pada kulit, termasuk jaringan payudara Anda. Cooper’s Ligaments Tak seperti anggota tubuh lainnya, payudara mayoritas dibentuk oleh jaringan lemak dan hanya dilindungi kulit serta jaringan pendukung yang terbilang rapuh yaitu Cooper’s Ligaments . Saat berolahraga, terutama jenis high impact , Cooper’s Ligaments  yang tidak elastis akan tertarik ketika payudara melambung. Alhasil Cooper’s Ligaments “ terpaksa” meregang dan akhirnya payudara pun turun. Saat berolahraga pula, pergerakan payudara sangat beragam dan bisa terjadi dalam waktu bersamaan. Buah dada akan bergerak ke atas dan ke bawah, ke samping, serta ke dalam dan keluar. Di sinilah, sports bra  berperan penting. Selain didesain untuk menjaga keelastisan jaringan payudara, sports bra meminimalkan risiko sakit punggung dan bahu. Sports bra  yang berkualitas juga akan membatasi tiga gerakan payudara tadi selincah apa pun Anda bergerak. Sesuai Aktivitas Jenis sports bra  yang Anda gunakan harus disesuaikan jenis olahraga yang dilakukan. Contohnya, jika Anda gemar melakukan lari atau olahraga max impact  lainnya, pilihlah sports bra  jenis max support . Jenis lainnya seperti high support  cocok jika Anda gemar bermain bulu tangkis atau bersepeda. Ada juga med support  untuk olahraga low impact  seperti yoga dan pilates . Jika dilihat dari cara kerjanya, maka sports bra bisa dibedakan menjadi dua tipe. Pertama, compression  yang tidak disertai cup dan mampu meregang sedemikian rupa sehingga bisa meminimalkan pergerakan payudara. Tipe ini cocok untuk olahraga jenis low  impact dan medium impact . Sedangkan tipe kedua adalah encapsulation  yang mirip bra biasa karena memiliki dua cup terpisah untuk melindungi payudara dari bawah. Sports bra  jenis ini juga mengikuti lekuk tubuh Anda. Olahraga high impact  atau maximum impact  disarankan memakai sports bra jenis ini. Tipe ketiga sports bra  menggabungkan encapsulation  dan compression . Nah, sports bra ini cocok untuk perempuan berpayudara besar dan para pelari. Paduan dua tipe ini juga akan menekan payudara “melekat” ke tubuh sekaligus melindungi dan membuat nyaman." });            

            this.IsDataLoaded = true;
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPropertyChanged(String propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (null != handler)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}